#####################################################################################
# Dependency computation
#############################

$(BRIDGENET_BASEDIR)/dep/%.d: $(BRIDGENET_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(BRIDGENET_BASEDIR)/module.mk $(BRIDGENET_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	@mkdir -p $(shell dirname $@)
	$(BASEDIR)/scripts/depend.sh `dirname $@`/debug $(BRIDGENET_INCFLAGS) $< >$@
	$(BASEDIR)/scripts/depend.sh `dirname $@`/release $(BRIDGENET_INCFLAGS) $< >>$@

#####################################################################################
# Object compilation
#############################
$(BRIDGENET_BASEDIR)/obj/debug/%.o: $(BRIDGENET_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(BRIDGENET_BASEDIR)/module.mk $(BRIDGENET_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	@mkdir -p $(shell dirname $@)
	$(BRIDGENET_CC) -c $(BRIDGENET_DEBUG_CFLAGS) $< -o $@

$(BRIDGENET_BASEDIR)/obj/release/%.o: $(BRIDGENET_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(BRIDGENET_BASEDIR)/module.mk $(BRIDGENET_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	@mkdir -p $(shell dirname $@)
	$(BRIDGENET_CC) -c $(BRIDGENET_RELEASE_CFLAGS) $< -o $@

$(DEBUG_BRIDGENET_ARCHIVE): $(BRIDGENET_DEBUG_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 

$(RELEASE_BRIDGENET_ARCHIVE): $(BRIDGENET_RELEASE_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 

$(DEBUG_BRIDGENET_LIB): $(BRIDGENET_DEBUG_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating dynamic library $@"
	@echo "#########"
	$(BRIDGENET_LD) -shared -o $@ $^ 

$(RELEASE_BRIDGENET_LIB): $(BRIDGENET_RELEASE_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating dynamic library $@"
	@echo "#########"
	$(BRIDGENET_LD) -shared -o $@ $^ 
